package cn.wolfcode.wolfcodemall.mapper;

import cn.wolfcode.wolfcodemall.domain.Category;
import cn.wolfcode.wolfcodemall.domain.Product;
import cn.wolfcode.wolfcodemall.qo.ProductQo;
import org.apache.ibatis.annotations.Param;

import java.time.LocalDate;
import java.util.Date;
import java.util.List;

public interface ProductMapper {
    int deleteByPrimaryKey(Integer productId);

    int insert(Product record);

    Product selectByPrimaryKey(Integer productId);

    List<Product> selectAll();

    int updateByPrimaryKey(Product record);

    //条件查询
    List<Product> selectByCondition(ProductQo qo);

    //保存商品图片信息
    void insertProductImage(@Param("imageType") Integer imageType, @Param("imageUrl") String imageUrl, @Param("productId") Integer productId);

    //保存商品属性值
    void insertProductPropertyValue(@Param("propertyValue") String propertyValue,@Param("propertyId") Integer propertyId,@Param("productId") Integer productId);

    //根据分类id查询商品信息(主页 8个)
    List<Product> selectHomeProductByCategoryId(Integer categoryId);

    //根据商品名字查询商品信息
    List <Product> selectByUser (@Param("productName") String productName );

    //根据日期排序
    List <Product> selectBySort(@Param("orderField") String orderField,
                                @Param("orderType") String orderType);

    List<Product> selectByCategoryId(@Param("categoryId") Integer categoryId);

}
